<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"            
      xmlns:p="http://primefaces.org/ui">


    <ui:composition template="/pages/core/plantilla/plantillaPrincipal.xhtml">

        <ui:define name="contenido">                 
            <h:form onsubmit="return checkSubmit();"  id="frmPrincipal">                                

                <p:panel id="pnlPrincipal" header="#{i18n['parametro.catalogo']}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid id="pgFormDto" columns="10" cellpadding="4">
                        <h:outputLabel value="#{i18n['general.label.id']}" styleClass="label" rendered="#{sessionMBean.accion != 1}"/>
                        <h:outputText value="#{catalogoParametroMBean.dto.id}" rendered="#{sessionMBean.accion != 1}"/>

                        <h:outputLabel value="#{i18n['catalogo.parametro.label.descripcion']}" styleClass="label"/>
                        <p:inputText label="#{i18n['catalogo.parametro.label.descripcion']}" 
                                     value="#{catalogoParametroMBean.dto.descripcion}"  readonly="#{sessionMBean.accion == 3}"
                                     required="true" size="50" style="#{applicationMBean.estiloObligatorio}">
                            <f:validateLength maximum="100" />
                        </p:inputText>

                        <h:outputLabel styleClass="label" value="#{i18n['catalogo.parametro.label.estado']}"/>                    
                        <p:selectBooleanCheckbox value="#{catalogoParametroMBean.dto.estado}"  disabled="#{sessionMBean.accion == 3}"/>
                    </h:panelGrid>          


                </p:panel>

                <p:panel id="pnlAcciones">
                    <h:panelGrid columns="10">
                        <p:commandButton title="#{i18n['general.button.guardar.tip']}" accesskey="#{applicationMBean.keyGuardar}" ajax="false"
                                         icon="ui-icon ui-icon-disk" rendered="#{sessionMBean.accion!=3}"
                                         onclick="return confirm('#{i18n.general_mensaje_confirmacion}');"
                                         value="#{i18n['general.button.guardar']}" style="#{applicationMBean.cssBotonTransaccion}"
                                         action="#{catalogoParametroMBean.guardar}">                                    
                        </p:commandButton>  
                        <p:spacer width="30" />
                        <p:commandButton title="#{i18n['general.button.atras.tip']}" accesskey="#{applicationMBean.keyRetroceder}" ajax="false"
                                         icon="ui-icon ui-icon-arrowreturnthick-1-w" immediate="true"
                                         value="#{i18n['general.button.atras']}" style="#{applicationMBean.cssBotonTransaccion}"
                                         action="#{catalogoParametroMBean.retroceder}">                                    
                        </p:commandButton>
                    </h:panelGrid>                    
                </p:panel>

                <p:panel id="pnlPrincipalDeta" header="#{i18n['parametro.titulo']}" style="#{applicationMBean.estiloTitulo}" rendered="#{catalogoParametroMBean.dto.id!=null}">
                    <h:panelGrid id="pngTabla" columns="1">

                        <h:panelGrid id="pgFormDtoDeta2" columns="13" cellpadding="4">

                            <p:commandButton title="#{i18n['catalogo.parametro.button.add']}"
                                             icon="ui-icon ui-icon-plus"
                                             value="#{i18n['catalogo.parametro.button.add']}" 
                                             style="#{applicationMBean.cssBotonTransaccion}" 
                                             rendered="#{sessionMBean.accion!=3}"
                                             oncomplete="carDialog.show()" update=":frmDetalle:pgFormDtoDeta"
                                             action="#{catalogoParametroMBean.nuevoParametro}">                                    
                            </p:commandButton>    

                        </h:panelGrid>
                        <p:dataTable id="tblPrincipal" value="#{catalogoParametroMBean.dto.listaParametros}" var="dto" widgetVar="widTable" 
                                     selectionMode="single" rowKey="#{dto.id}"
                                     emptyMessage="#{i18n['form.general.mensaje.no.registros']}" styleClass="estiloPanel"   >                        
                            <p:column style="text-align:center;">
                                <h:panelGrid id="pgBotonesGrilla2" columns="10" cellspacing="5" styleClass="estiloPanelGrid">
                                    <p:commandButton icon="ui-icon ui-icon-search" title="#{i18n['general.button.ver.tip']}"
                                                     actionListener="#{catalogoParametroMBean.verParametro}" ajax="true"
                                                     oncomplete="carDialog.show()"
                                                     update=":frmDetalle:pgFormDtoDeta">
                                        <f:setPropertyActionListener value="#{dto}" target="#{catalogoParametroMBean.parametroDto}" />                                                                    
                                    </p:commandButton>                                
                                    <p:commandButton icon="ui-icon ui-icon-pencil" title="#{i18n['general.button.editar.tip']}" 
                                                     rendered="#{sessionMBean.accion!=3}"
                                                     update=":frmDetalle:pgFormDtoDeta"
                                                     actionListener="#{catalogoParametroMBean.editarParametro}" 
                                                     oncomplete="carDialog.show()" ajax="true">
                                        <f:setPropertyActionListener value="#{dto}" target="#{catalogoParametroMBean.parametroDto}" />                                                                    
                                    </p:commandButton>

                                </h:panelGrid>

                            </p:column>   

                            <p:column headerText="#{i18n['general.label.id']}"  styleClass="general">
                                <h:outputText value="#{dto.id}" styleClass="general" />
                            </p:column>
                            <p:column headerText="#{i18n['parametro.label.descripcion']}">
                                <h:outputText value="#{dto.descripcion}" styleClass="general" />
                            </p:column>
                            <p:column headerText="#{i18n['parametro.label.descripcion.corta']}" styleClass="general">
                                <h:outputText value="#{dto.descripcionCorta}" styleClass="general"/>
                            </p:column>
                            <p:column headerText="#{i18n['parametro.label.estado']}">
                                <h:outputText value="#{dto.estadoTexto}" styleClass="general"/>
                            </p:column>
                            <p:column headerText="#{i18n['parametro.label.tipo']}" styleClass="general">
                                <h:outputText value="#{dto.tipo}" styleClass="general" />
                            </p:column>                    
                            <p:column headerText="#{i18n['parametro.label.valor.entero']}" style="text-align: right">
                                <h:outputText value="#{dto.valorEntero}" styleClass="general" />
                            </p:column>                    
                            <p:column headerText="#{i18n['parametro.label.valor.fecha']}" styleClass="general">
                                <h:outputText value="#{dto.valorFecha}" styleClass="general" >
                                    <f:convertDateTime pattern="#{applicationMBean.formatoFecha}"/>
                                </h:outputText>
                            </p:column>                    
                            <p:column headerText="#{i18n['parametro.label.valor.real']}" style="text-align: right">
                                <h:outputText value="#{dto.valorReal}" styleClass="general" />
                            </p:column>                    
                            <p:column headerText="#{i18n['parametro.label.valor.cadena']}" styleClass="general">
                                <h:outputText value="#{dto.valorCadena}" />
                            </p:column>                    
                            <p:column headerText="#{i18n['parametro.label.valor.boolean']}" style="text-align: center">
                                <h:outputText value="#{dto.valorBooleanTexto}" styleClass="general" />
                            </p:column>                    

                            <p:column headerText="#{i18n['parametro.label.parametro.padre']}" styleClass="general">
                                <h:outputText value="#{dto.parametroPadreDto.descripcion}" styleClass="general" />
                            </p:column> 
                        </p:dataTable>


                    </h:panelGrid>
                </p:panel>


            </h:form>

            <h:form onsubmit="return checkSubmit();"  id="frmDetalle">
                <p:dialog id="dialog" header="#{i18n['parametro.popup.nuevo']}" widgetVar="carDialog" resizable="false"  
                          width="1000" height="350" modal="true">  
                    <p:messages id="msjDialog" showDetail="false" autoUpdate="true" />   
                    <ui:include src="/pages/core/parametro/parametro.xhtml" /> 
                </p:dialog>
            </h:form>
        </ui:define>
    </ui:composition>
</html>